package com.sky.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.sky.anotion.ValidId;
import com.sky.anotion.validator.UpdateGroup;
import com.sky.entity.FileList;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 竞赛申请表生成DTO
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CompetitionApplicationDTO {
    @ValidId(groups = {UpdateGroup.class})
    private String id;
    /** 竞赛名称 */
    private String name;
    /** 主办单位 */
    private String conductUnit;
    /** 承办单位 */
    private String organizer;
    /** 是否有特等奖项 */
    private String special;
    /** 比赛范围 */
    private String scope;
    /** 竞赛等级 */
    private String level;
    /** 竞赛类型 */
    private String type;
    /** 交通工具 */
    private String traffic;
    /** 竞赛形式 */
    private String shape;
    /** 参赛人数 */
    private Long number;
    /** 经费预算 */
    private String budget;
    /** 竞赛负责人 */
    private String contact;
    /** 参赛地点 */
    private String address;
    /** 竞赛开始时间 */
    private LocalDateTime startTime;
    /** 竞赛结束时间 */
    private LocalDateTime endTime;
    /** 上届经费使用情况 */
    private String cost;
    /** 实施方案 */
    private String plan;
    /** 负责人联系电话 */
    private String phone;
    /** 竞赛负责人ID */
    private String instructorId;
    /**竞赛所属分类id*/
    private String categoryId;
    /** 教师列表 - 用于动态表格填充 */
    private List<TeacherInfoDTO> teacher;
    /**附件信息列表*/
    private List<FileList> fileLists;
}
